Views [dbo].[vGiftHistoryBase]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Created3:38:19 PM Friday, January 07, 2011
Last Modified1:48:47 PM Thursday, September 22, 2011
Columns
Name
ID
OriginalTransaction
InvoiceRefNum
SourceSystem
TransactionDate
DateReceived
Amount
SolicitorID
CheckNumber
Appeal
Campaign
Fund
PaymentType
FiscalMonth
FiscalYear
GiftType
MatchingTransaction
IsMatchingGift
MemorialID
ListAs
RequestNumber
MemorialNameText
SoftCreditAmount
SoftCreditDonorID
SQL Script

CREATE VIEW [dbo].[vGiftHistoryBase]
AS  SELECT  MAX(a.[ID]) ID,
           MAX(a.[ORIGINATING_TRANS_NUM]) OriginalTransaction,
           MAX(t.[INVOICE_REFERENCE_NUM]) AS InvoiceRefNum,
           MAX(a.[SOURCE_SYSTEM]) SourceSystem,
           MAX(a.[TRANSACTION_DATE]) TransactionDate,
           CASE
                 WHEN MAX(a.[SOURCE_SYSTEM]) = 'FR' THEN MAX(a.[EFFECTIVE_DATE])
                 ELSE MAX(a.[TRANSACTION_DATE]) END AS DateReceived,    
           ( SUM([t2].[AMOUNT]) * -1 ) AS Amount,
           MAX(a.[SOLICITOR_ID]) SolicitorID,
           ( CASE WHEN MAX(a.[ACTIVITY_TYPE]) = 'GIFT' THEN MAX(t.[CHECK_NUMBER])
                  ELSE ''
             END ) CheckNumber,
           MAX(a.[SOURCE_CODE]) Appeal,
           MAX(a.[CAMPAIGN_CODE]) Campaign,
           MAX(a.[ORG_CODE]) Fund,
           ( CASE WHEN MAX(a.[ACTIVITY_TYPE]) = 'GIFT'
                  THEN ( CASE MAX(c.[ACCOUNT_TYPE])
                           WHEN 1 THEN 'Credit Card'
                           WHEN 2 THEN 'In Kind'
                           WHEN 3 THEN 'Debit Card'
                           ELSE 'Cash'
                         END )
                  ELSE ''
             END ) AS PaymentType,
           CONVERT(INT, SUBSTRING(CONVERT(CHAR(6), MAX(t.[FISCAL_PERIOD])), 5,
                                  2)) AS FiscalMonth,
           CONVERT(INT, SUBSTRING(CONVERT(CHAR(6), MAX(t.[FISCAL_PERIOD])), 1,
                                  4)) AS FiscalYear,
           ( CASE WHEN MAX(a.[SOURCE_SYSTEM]) = 'DUES' THEN 'Membership'
                  WHEN MAX(a.[SOURCE_SYSTEM]) = 'MEETING' THEN 'Event'
                  WHEN MAX(a.[SOURCE_SYSTEM]) = 'FR'
                  THEN ( CASE WHEN MAX(a.[ACTIVITY_TYPE]) = 'PLEDGE'
                              THEN 'Pledge'
                              WHEN ( MAX(a.[ACTIVITY_TYPE]) = 'GIFT'
                                     AND MAX(c.[ACCOUNT_TYPE]) = 2
                                   ) THEN 'In Kind'
                              ELSE 'Cash'
                         END )
                  ELSE 'Gift'
             END ) AS GiftType,
           MAX(t.[MATCH_GIFT_TRANS_NUM]) MatchingTransaction,
           MAX(t.[IS_MATCH_GIFT]) IsMatchingGift,
           MAX(t.[MEM_TRIB_ID]) MemorialID,
           MAX(a.[ACTION_CODES]) ListAs,
           MAX(a.[UF_4]) RequestNumber,
           MAX(t.[MEM_TRIB_NAME_TEXT]) MemorialNameText,
           CAST(0.00 AS MONEY) AS SoftCreditAmount,
           '' AS SoftCreditDonorID
    FROM    [dbo].[Trans] t
           INNER JOIN [dbo].[Activity] a ON t.[ACTIVITY_SEQN] = a.[SEQN]
           LEFT OUTER JOIN [dbo].[Cash_Accounts] c ON t.[CHECK_NUMBER] = c.[CASH_ACCOUNT_CODE]
           INNER JOIN [dbo].[Invoice] i ON i.[REFERENCE_NUM] = t.[INVOICE_REFERENCE_NUM]
           INNER JOIN [dbo].[Trans] t2 ON i.[REFERENCE_NUM] = [t2].[INVOICE_REFERENCE_NUM]
    WHERE   [t2].[TRANSACTION_TYPE] = 'DIST'
           AND t.[JOURNAL_TYPE] = 'IN'
           AND t.[TRANSACTION_TYPE] = 'DIST'
           AND t.[PRODUCT_CODE] = [t2].[PRODUCT_CODE]
           AND ( i.[SOURCE_SYSTEM] = 'FR'
                 OR ( i.[SOURCE_SYSTEM] = 'DUES'
                      AND t.[INVOICE_LINE_NUM] = [t2].[INVOICE_LINE_NUM]
                    )
               )
           AND [t2].[IS_FR_ITEM] = 1
    GROUP BY a.[ID],
           a.[ORIGINATING_TRANS_NUM],
           a.[ORG_CODE],
           a.[CAMPAIGN_CODE],
           a.[SOURCE_CODE]
    UNION
    SELECT  MAX(a.[ID]) ID,
           MIN(i.[ORIGINATING_TRANS_NUM]) AS OriginalTransaction,
           MAX(t.[INVOICE_REFERENCE_NUM]) InvoiceRefNum,
           MAX(a.[SOURCE_SYSTEM]) SourceSystem,
           MAX(a.[TRANSACTION_DATE]) TransactionDate,
           CASE
                 WHEN MAX(a.[SOURCE_SYSTEM]) = 'FR' THEN MAX(a.[EFFECTIVE_DATE])
                 ELSE MAX(a.[TRANSACTION_DATE]) END AS DateReceived,
           SUM(a.[AMOUNT]) AS Amount,
           '' AS SolicitorID,
           '' AS CheckNumber,
           MAX(a.[SOURCE_CODE]) Appeal,
           MAX(a.[CAMPAIGN_CODE]) Campaign,
           MAX(a.[ORG_CODE]) Fund,
           '' AS PaymentType,
           CONVERT(INT, SUBSTRING(CONVERT(CHAR(6), MAX(t.[FISCAL_PERIOD])), 5,
                                  2)) AS FiscalMonth,
           CONVERT(INT, SUBSTRING(CONVERT(CHAR(6), MAX(t.[FISCAL_PERIOD])), 1,
                                  4)) AS FiscalYear,
           'Event' AS GiftType,
           0 AS MatchingTransaction,
           0 AS IsMatchingGift,
           '' AS MemorialID,
           '' AS ListAs,
           0 AS RequestNumber,
           '' AS MemorialNameText,
           CAST(0.00 AS MONEY) AS SoftCreditAmount,
           '' AS SoftCreditDonorID
    FROM    [dbo].[Activity] a
           INNER JOIN [dbo].[Trans] t ON a.[ORIGINATING_TRANS_NUM] = t.[TRANS_NUMBER]
           INNER JOIN [dbo].[Invoice] i ON i.[REFERENCE_NUM] = t.[INVOICE_REFERENCE_NUM]
    WHERE   a.[ACTIVITY_TYPE] = 'GIFT'
           AND a.[SOURCE_SYSTEM] = 'MEETING'
           AND t.[TRANSACTION_TYPE] = 'DIST'
           AND ( t.[PRODUCT_CODE] = a.[PRODUCT_CODE]
                 OR t.[PRODUCT_CODE] LIKE a.[PRODUCT_CODE] + '/%'
               )
    GROUP BY a.[ID],
          t.[INVOICE_REFERENCE_NUM],
           a.[ORG_CODE],
           a.[CAMPAIGN_CODE],
           a.[SOURCE_CODE]
    UNION
    SELECT  MAX(a.[ID]) ID,
           MAX(a.[ORIGINATING_TRANS_NUM]) AS OriginalTransaction,
           0 AS InvoiceRefNum,
           MAX(a.[SOURCE_SYSTEM]) SourceSystem,
           MAX(a.[TRANSACTION_DATE]) TransactionDate,
           CASE
                 WHEN MAX(a.[SOURCE_SYSTEM]) = 'FR' THEN MAX(a.[EFFECTIVE_DATE])
                 ELSE MAX(a.[TRANSACTION_DATE]) END AS DateReceived,
           SUM(a.[AMOUNT]) AS Amount,
           '' AS SolicitorID,
           MAX(t.[CHECK_NUMBER]) AS CheckNumber,
           MAX(a.[SOURCE_CODE]) Appeal,
           MAX(a.[CAMPAIGN_CODE]) Campaign,
           MAX(a.[ORG_CODE]) Fund,
           ( CASE MAX(c.[ACCOUNT_TYPE])
               WHEN 1 THEN 'Credit Card'
               WHEN 2 THEN 'In Kind'
               WHEN 3 THEN 'Debit Card'
               ELSE 'Cash'
             END ) AS PaymentType,
           CONVERT(INT, SUBSTRING(CONVERT(CHAR(6), MAX(t.[FISCAL_PERIOD])), 5,
                                  2)) AS FiscalMonth,
           CONVERT(INT, SUBSTRING(CONVERT(CHAR(6), MAX(t.[FISCAL_PERIOD])), 1,
                                  4)) AS FiscalYear,
           'Membership' AS GiftType,
           0 AS MatchingTransaction,
           0 AS IsMatchingGift,
           '' AS MemorialID,
           '' AS ListAs,
           0 AS RequestNumber,
           '' AS MemorialNameText,
           CAST(0.00 AS MONEY) AS SoftCreditAmount,
           '' AS SoftCreditDonorID
    FROM    [dbo].[Activity] a
           INNER JOIN [dbo].[Trans] t ON a.[ORIGINATING_TRANS_NUM] = t.[TRANS_NUMBER]
                                     AND t.[ST_ID] = a.[ID]
                                     AND t.[PRODUCT_CODE] = a.[PRODUCT_CODE]
           LEFT OUTER JOIN [dbo].[Cash_Accounts] c ON t.[CHECK_NUMBER] = c.[CASH_ACCOUNT_CODE]
    WHERE   a.[ACTIVITY_TYPE] = 'GIFT'
           AND a.[SOURCE_SYSTEM] IN ( 'DUES', 'SC' )
           AND t.[TRANSACTION_TYPE] = 'DIST'
    GROUP BY a.[ID],
           t.[TRANS_NUMBER],
           a.[ORG_CODE],
           a.[CAMPAIGN_CODE],
           a.[SOURCE_CODE]
    UNION
    SELECT  MAX(s.[SOFT_CREDIT_ID]) ID,
           MAX(a.[ORIGINATING_TRANS_NUM]) OriginalTransaction,
           MAX(t.[INVOICE_REFERENCE_NUM]) AS InvoiceRefNum,
           MAX(a.[SOURCE_SYSTEM]) SourceSystem,
           MAX(a.[TRANSACTION_DATE]) TransactionDate,
           MAX(a.[EFFECTIVE_DATE]) DateReceived,
           CAST(0.00 AS MONEY) AS Amount,
           MAX(a.[SOLICITOR_ID]) SolicitorID,
           ( CASE WHEN MAX(a.[ACTIVITY_TYPE]) = 'GIFT' THEN MAX(t.[CHECK_NUMBER])
                  ELSE ''
             END ) CheckNumber,
           MAX(a.[SOURCE_CODE]) Appeal,
           MAX(a.[CAMPAIGN_CODE]) Campaign,
           MAX(a.[ORG_CODE]) Fund,
           ( CASE WHEN MAX(a.[ACTIVITY_TYPE]) = 'GIFT'
                  THEN ( CASE MAX(c.[ACCOUNT_TYPE])
                           WHEN 1 THEN 'Credit Card'
                           WHEN 2 THEN 'In Kind'
                           WHEN 3 THEN 'Debit Card'
                           ELSE 'Cash'
                         END )
                  ELSE ''
             END ) AS PaymentType,
           CONVERT(INT, SUBSTRING(CONVERT(CHAR(6), MAX(t.[FISCAL_PERIOD])), 5,
                                  2)) AS FiscalMonth,
           CONVERT(INT, SUBSTRING(CONVERT(CHAR(6), MAX(t.[FISCAL_PERIOD])), 1,
                                  4)) AS FiscalYear,
           'Soft Credit' AS GiftType,
           MAX(t.[MATCH_GIFT_TRANS_NUM]) MatchingTransaction,
           MAX(t.[IS_MATCH_GIFT]) IsMatchingGift,
           MAX(t.[MEM_TRIB_ID]) MemorialID,
           MAX(a.[ACTION_CODES]) ListAs,
           MAX(a.[UF_4]) RequestNumber,
           MAX(t.[MEM_TRIB_NAME_TEXT]) MemorialNameText,
           SUM(s.[AMOUNT]) AS SoftCreditAmount,
           MAX(a.[ID]) AS SoftCreditDonorID
    FROM    [dbo].[Trans] t
           INNER JOIN [dbo].[Activity] a ON t.[ACTIVITY_SEQN] = a.[SEQN]
           LEFT OUTER JOIN [dbo].[Cash_Accounts] c ON t.[CHECK_NUMBER] = c.[CASH_ACCOUNT_CODE]
           INNER JOIN [dbo].[Invoice] i ON i.[REFERENCE_NUM] = t.[INVOICE_REFERENCE_NUM]
           INNER JOIN [dbo].[Trans_SoftCredit] s ON s.[ORIGINATING_ACTIVITY_SEQN] = t.[ACTIVITY_SEQN]
    WHERE   t.[TRANSACTION_TYPE] = 'DIST'
           AND t.[JOURNAL_TYPE] = 'IN'
           AND t.[TRANSACTION_TYPE] = 'DIST'
           AND t.[PRODUCT_CODE] = s.[PRODUCT_CODE]
           AND i.[SOURCE_SYSTEM] = 'FR'
    GROUP BY a.[ID],
           a.[ORIGINATING_TRANS_NUM],
           s.[SOFT_CREDIT_ID],
           a.[ORG_CODE],
           a.[CAMPAIGN_CODE],
           a.[SOURCE_CODE]





GO
Uses
Used By